$NG.AllReady(function (page, { useValuesChange, useDataIndexChange, useUpdateRows, useUpdateRow }) {
    const mstform = $NG.getCmpApi("p_form_payment_plan_m");
  
    ////////////////////////////////////////////////////////////--init--////////////////////////////////////////////////////////////
    if (mstform) {
      getPtInfoByPhid();
      getCntMInfoByPhid();
    }
    ////////////////////////////////////////////////////////////--useValuesChange--////////////////////////////////////////////////////////////
    useValuesChange(({ args }) => {
      console.log(`项目监听`, args);
      getPtInfoByPhid();
      filterCntMain()
    }, "p_form_payment_plan_m.phid_pc");
    //监听合同
    useValuesChange(({ args }) => {
      console.log(`合同监听`, args);
      getCntMInfoByPhid();
    }, "p_form_payment_plan_m.u_cnt_name");
    ////////////////////////////////////////////////////////////--getPtInfoByPhid--////////////////////////////////////////////////////////////
    function getPtInfoByPhid() {
      if (mstform.getItem("phid_pc").getValue()) {
        $NG.execServer("getPtInfoByPhid", { phid: mstform.getItem("phid_pc").getValue() }, function (res) {
          const datas = JSON.parse(res.data)[0].extendObjects;
          console.log(datas);
          $NG.updateState((updater) => {
            updater.data.p_form_payment_plan_m.setProps({
              //项目编码
              u_pc_no: datas.pc_no,
              //项目金额
              approx_contract_fc: datas.approx_contract_fc,
              //计划开工日期
              start_date: datas.start_date,
              //计划完工日期
              end_date: datas.end_date,
              //售前顾问
              u_sqgw: { value: datas.user_sqgw_phid, label: datas.user_sqgw_name },
              //项目经理
              u_project_manager: { value: datas.project_manager_phid, label: datas.project_manager_name },
              //事业部
              u_division: { value: datas.division_phid, label: datas.division_name },
              //组织
              phid_org_phid: { value: datas.phid_org_phid, label: datas.phid_org_name },
              //区域中心
              u_regional_center: { value: datas.regional_center_phid, label: datas.regional_center_name },
              //产品线
              u_product_line: { value: datas.midwife_phid, label: datas.midwife_name },
              //客户名称
              customer: { value: datas.customer_id, label: datas.customer_name },
              //部门
              u_dept: { value: datas.dept_phid, label: datas.dept_name },
              //项目类型
              u_pc_type: { value: datas.type_phid, label: datas.type_name },
              //项目预算组织编码
              budget_org_code: datas.budget_org_no,
              //项目预算组织
              budget_org_phid: { value: datas.budget_org_phid, label: datas.budget_org_name },
            });
          });
        });
      }
    }
    ////////////////////////////////////////////////////////////--getCntMInfoByPhid--////////////////////////////////////////////////////////////
    function getCntMInfoByPhid(params) {
      $NG.execServer("getCntMInfoByPhid", { phid: mstform.getItem("u_cnt_name").getValue() }, function (res) {
        const datas = JSON.parse(res.data)[0].extendObjects;
        console.log(datas);
        $NG.updateState((updater) => {
          updater.data.p_form_payment_plan_m.setProps({
            u_cnt_no: datas.pcm_no, //合同编号
            start_dt: datas.start_dt, //约定开工时间
            end_dt: datas.end_dt, //约定完工时间
            cnt_sum_vat_fc: datas.cnt_sum_vat_fc, //合同价税合计
            //产品线
            user_product_line: { value: datas.midwife_phid, label: datas.midwife_name },
            //合同类型
            u_cnt_type: { value: datas.pct_id, label: datas.pct_name },
            //甲方单位
            u_customer: { value: datas.customer_id, label: datas.customer_name },
            //乙方单位
            supply: { value: datas.supply_id, label: datas.supply_name },
            //发票类型
            u_invoice_type: { value: datas.invoice_type_phid, label: datas.invoice_type_name },
            //购方信息（客户信息）（收票单位信息）
            //单位名称
            tick_id: { value: datas.tick_id, label: datas.tick_name },
            //单位编码
            tick_no: datas.tick_no,
            //社会信用代码
            tick_unisocialcredit: datas.tick_unisocialcredit,
            //单位地址
            tick_taxaddress: datas.tick_taxaddress,
            //联系电话
            tick_taxtelephone: datas.tick_taxtelephone,
            //银行名称
            tick_taxbankid: { value: datas.tick_taxbankid, label: datas.tick_taxbankname },
            //银行账号
            tick_taxaccountno: datas.tick_taxaccountno,
            //销方信息（供应商信息）（开票单位信息）
            //单位名称
            inv_id: { value: datas.inv_id, label: datas.inv_name },
            //单位编码
            inv_no: datas.inv_no,
            //社会信用代码
            inv_unisocialcredit: datas.inv_unisocialcredit,
            //单位地址
            inv_taxaddress: datas.inv_taxaddress,
            //联系电话
            inv_taxtelephone: datas.inv_taxtelephone,
            //银行名称
            inv_taxbankid: { value: datas.inv_taxbankid, label: datas.inv_taxbankname },
            //银行账号
            inv_taxaccountno: datas.inv_taxaccountno,
          });
        });
      });
    }

    //根据项目筛选合同
    filterCntMain()
    function filterCntMain() {
        console.log(`项目id`, mstform.getItem("phid_pc").getValue());
        $NG.updateUI((updater, state) => {
            console.log('过滤参数检查', updater);
            updater.form.p_form_payment_plan_m.u_cnt_name.setProps({
                onBeforeOpen: async () => {
                    var phid_pc = mstform.getItem('phid_pc').getValue();
                    if (!phid_pc) {
                        $NG.alert("请先选择项目");
                        return false;
                    } else {
                        return true;
                    }
                },
                ...(!!mstform.getItem("phid_pc").getValue() && {
                    clientSqlFilter: {
                        bill_type: 1,//合同类型
                        phid_pc: mstform.getItem("phid_pc").getValue()
                    }
                }),
            });
        });
    }
  });
  